==========================================================
 Lite Mirrors 0.1.0
 Installation guide (EN)
==========================================================

What it is
----------
A BepInEx plugin for Virt-A-Mate 1.21.x that makes the
built-in planar mirrors (the "Glass" atom / MirrorRender
component) cheaper without changing how they look:

  * skips the reflection re-render while the camera is
    stationary OR moving slowly (the last reflection stays
    valid within the configured pose bounds);
  * always re-renders when the camera actually moves, so
    the reflection never tears or flickers;
  * skips far-away and tiny-on-screen mirrors (with
    hysteresis, so they cannot blink at the threshold);
  * caps the reflection texture's MSAA (VaM default 8x -> 2x);
  * lowers shadow pass, per-pixel light count and LOD bias
    for the reflection render only - the main view keeps
    full quality.

The reflection resolution itself is never changed. Every
patch is a Harmony Prefix/Postfix with a try/catch fallback:
on any error the original VaM code runs untouched. A master
switch in the config turns the whole plugin off instantly.


Requirements
------------
  * Virt-A-Mate 1.21.x
  * BepInEx 5 (with HarmonyX)


Installation
------------------------
1. Open your game folder

2. Go to:
   BepInEx\plugins\

3. Create a folder there (if it does not exist yet):
   LiteMirrors

4. Copy into it:
   LiteMirrors.dll

   The result should look like this:
   <VaM>\BepInEx\plugins\LiteMirrors\LiteMirrors.dll

5. Start VaM as usual. The plugin creates its config on
   first launch.


Configuration
-------------
File (created on first launch):
  BepInEx\config\com.vam.litemirrors.cfg

[General]
  Enabled                     true   master switch (false = vanilla VaM)

[ReflectionQuality]
  MaxAntiAliasing             2      MSAA cap for the reflection texture
                                     (0 = leave VaM's 8x untouched)

[ReflectionCost]
  Enabled                     true   reflection-only quality lever
  DisableShadows              true   no shadow pass inside the mirror
  PixelLightCount             1      per-pixel lights in the reflection
  LodBias                     0.6    LOD bias for the reflection only

[Throttle]
  Enabled                     true   skip re-render while stationary or
                                     moving slower than the pose bounds
  MinUpdateIntervalMs         33     min ms between updates when still
  CameraMovePositionThreshold 0.01  re-render if camera moved more than this
                                    (bounds reflection lag ~1% of screen)
  CameraMoveRotationThresholdDeg 0.5 re-render if camera rotated more than this

[DistanceCull]
  Enabled                     true   skip mirrors beyond MaxDistance
  MaxDistance                 100

[ScreenCull]
  Enabled                     true   skip mirrors below MinScreenFraction
  MinScreenFraction           0.01

Note: if a mirror ever looks stale, raise the movement
thresholds or set the related section's Enabled=false - no
reinstall needed. To remove the plugin entirely, delete its
folder; nothing else is modified.


Uninstall
---------
Delete:
  BepInEx\plugins\LiteMirrors\

Optional - also delete:
  BepInEx\config\com.vam.litemirrors.cfg

The plugin does not touch prefs.json, scene files or the
game assembly.
